home *** CD-ROM | disk | FTP | other *** search
- #ifndef CLIPPINGFILEDATA_H
- #include "ClippingFileData.h"
- #endif
-
- #ifndef ST_MACCLASSES_H
- #include "ST_MacClasses.h"
- #endif
-
- CClippingFileData::CClippingFileData (short refNum)
- {
- ST_ResFileSaver saver = CurResFile ();
- UseResFile (refNum);
-
- fDataHandle = (ClippingDataHandle) Get1Resource (kClippingFileDataResType,
- kClippingFileDataResID);
- if (!fDataHandle)
- throw resNotFound;
- }
-
- void CClippingFileData::CreateNewClippingFileData (short refNum)
- {
- ST_ResFileSaver saver = CurResFile ();
- UseResFile (refNum);
-
- Handle dataHandle = Get1Resource (kClippingFileDataResType, kClippingFileDataResID);
- if (dataHandle) {
- RemoveResource (dataHandle);
- UpdateResFile (refNum);
- DisposeHandle (dataHandle);
- }
-
- ClippingDataRec defaultDataRec;
-
- defaultDataRec.onLeft = true;
- defaultDataRec.offset = 0;
- defaultDataRec.color = 0;
-
- OSErr error = PtrToHand (&defaultDataRec, &dataHandle, sizeof (defaultDataRec));
- if (error)
- throw error;
-
- AddResource (dataHandle, kClippingFileDataResType, kClippingFileDataResID, "\p");
- error = ResError ();
- if (error)
- throw error;
- }
-
- CClippingFileData::~CClippingFileData ()
- {
- ReleaseResource ((Handle) fDataHandle);
- }
-
- Boolean CClippingFileData::GetOnLeft ()
- {
- return (**fDataHandle).onLeft;
- }
-
- short CClippingFileData::GetOffset ()
- {
- return (**fDataHandle).offset;
- }
-
- void CClippingFileData::SetOnLeft (Boolean onLeft)
- {
- ChangedResource ((Handle) fDataHandle);
- OSErr error = ResError ();
- if (error)
- throw error;
-
- (**fDataHandle).onLeft = onLeft;
- }
-
- void CClippingFileData::SetOffset (short offset)
- {
- ChangedResource ((Handle) fDataHandle);
- OSErr error = ResError ();
- if (error)
- throw error;
-
- (**fDataHandle).offset = offset;
- }
-